package service

import (
	"adam2/internal/vo"
	pDomain "anubis-framework/pkg/domain"
)

type ConceptBoardIndexService interface {

	// 获取最近记录
	FindLatestConceptBoardIndex() *pDomain.ServiceResult

	// 查询前一个交易日的日期
	PreviousDate(transactionDate string) *pDomain.ServiceResult

	// 查询后一个交易日的日期
	NextTransactionDate(transactionDate string) *pDomain.ServiceResult

	// 根据开始时间和结束时间，计算平均KD值
	FindAverageKDByBeginDateAndEndDate(*vo.KDVo) *pDomain.ServiceResult

	// 根据开始时间和结束时间，查询某个概念板块的KD值
	FindKdByMyquantCodeAndBeginDateAndEndDate(*vo.KDVo) *pDomain.ServiceResult

	// 根据myquant_code、begin_date和end_date，查询记录，并按照transaction_date列升序排列
	FindByMyquantCodeAndBeginDateAndEndDateOrderByTransactionDateAsc(*vo.FindConceptBoardIndexVo) *pDomain.ServiceResult
}
